﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel;


namespace AuditModel
{
    [MetadataType(typeof(CandidateQuotaMetaData))]
    public partial class CandidateQuota { }
    public class CandidateQuotaMetaData
    {
        [Required]
        public string AnnualEventID { get; set; }
        [Required]
        public string CountyCode { get; set; }
        [Required]
        public int SubjectID { get; set; }
        [Required]
        [DataType("int32")]
        public string Quota { get; set; }
    }
    [MetadataType(typeof(CountyClassDateMetaData))]
    public partial class CountyClassDate    {   }
    public class CountyClassDateMetaData
    {
        [Required]
        public string AnnualEventID { get; set; }
        [Required]
        public string CountyCode { get; set; }
        [Required(ErrorMessage = "日期不能为空")]
        [DataType(DataType.Date, ErrorMessage="日期格式为yyyy-mm-dd，如2012-12-12")]
        public DateTime ClassDate { get; set; }
    }
    [MetadataType(typeof(AnnualEventMetaData))]    
    public partial class AnnualEvent
    {
    }
    public class AnnualEventMetaData
    {
        [Required]
        public string Title
        {
            get;
            set;
        }
        [Required]
        public  Nullable<global::System.Int32> Year
        {
            get;
            set;
        }
        [Required]
        public global::System.String Status
        {
            get;
            set;
        }
        [Required]
        public global::System.String ID
        {
            get;
            set;
        }
    }

    //Teacher: Name, Subjectld, County Code
    //[MetadataType(typeof(TeacherMetaData))]  
    //public partial class Teacher
    //{
    //}
    //public class TeacherMetaData
    //{
    //    [Required]
    //    public string Name
    //    {
    //        get;
    //        set;
    //    }
    //    [Required]
    //    public int SubjectID
    //    {
    //        get;
    //        set;
    //    }
    //    [Required]
    //    public string CountyCode
    //    {
    //        get;
    //        set;
    //    }
    //}

    //Archive: AnnualEventId, CountyCode, Subjectld, Teacherld
    [MetadataType(typeof(ArchiveMetaData))] 
    public partial class Archive
    {
    }
    public class ArchiveMetaData
    {
        [Required]
        //[Display(Name = "AnnualEventID", ResourceType = typeof(AuditResources.Archive))]
        //[DisplayName("活动编号")]
        public string AnnualEventID
        {
            get;
            set;
        }
        [Required]
        public string CountyCode
        {
            get;
            set;
        }
        [Required]
        public Nullable<global::System.Int32> SubjectID
        {
            get;
            set;
        }
        [Required]
        public string TeacherName
        {
            get;
            set;
        }
        [Required]
        public string SchoolName
        { get; set; }


    }

    [MetadataType(typeof(ExpertJudge))]
    public partial class ExpertJudge
    {
    }
    public class ExpertJudgeMetaData
    {
        [Required]
        public Nullable<global::System.Int32> SubjectID
        {
            get;
            set;
        }
    }

    //ScorePercentage:PercentageInstruction,PercentageDefense, PercentageMaterial, PercentageOthers
    [MetadataType(typeof(ScorePercentageMetaData))] 
    public partial class ScorePercentage
    {
    }
    public class ScorePercentageMetaData
    {
        [Required]
        public Nullable<global::System.Decimal> PercentofInstruction
        {
            get;
            set;
        }
        [Required]
        public Nullable<global::System.Decimal> PercentofMaterial
        {
            get;
            set;
        }
        [Required]
        public Nullable<global::System.Decimal> PercentofOthers
        {
            get;
            set;
        }
        [Required]
        public Nullable<global::System.Decimal> PercentofDefense
        {
            get;
            set;
        }
    }

    //Score:ExpertJudgeSerialNumber, ArchiveID, MaterialScore, InstructionScore, DefenseScore, OtherScore, SubmitTime
    [MetadataType(typeof(ScoreMetaData))] 
    public partial class Score
    {
    }
    public class ScoreMetaData
    {
        [Required]
        public global::System.String ExpertJudgeSerialNumber
        {
            get;
            set;
        }
        [Required]
        public global::System.String ArchiveID
        {
            get;
            set;
        }
        [Required]
        public Nullable<global::System.Decimal> MaterialScore
        {
            get;
            set;
        }
        [Required]
        public Nullable<global::System.Decimal> InstructionScore
        {
            get;
            set;
        }
        [Required]
        public Nullable<global::System.Decimal> DefenseScore
        {
            get;
            set;
        }
        [Required]
        public Nullable<global::System.Decimal> OtherScore
        {
            get;
            set;
        }
        [Required]
        public Nullable<global::System.DateTime> SubmitTime
        {
            get;
            set;
        }
    }
}
